package com.boil.qz.safekavass.web.request.param;

import javax.validation.constraints.NotNull;

import com.boil.util.Constants;
import org.hibernate.validator.constraints.Range;

/**
 * DataTables 专用的分页参数。 <br>
 * 参照 DataTables 自动设置的参数。
 *
 * @author ChenYong
 * @data 2016-10-11
 */
public class Page2Param extends SimplePage2Param {
    /**
     * 原样返回
     */
    @NotNull(message = "原样字段不能为空")
    @Range(min = Constants.VALUE_L_1, max = Long.MAX_VALUE, message = "原样字段在0至9223372036854775807之间")
    protected Long sEcho;
    /**
     * 列数
     */
    @NotNull(message = "列数不能为空")
    @Range(min = Constants.VALUE_1, max = Constants.VALUE_100, message = "列数在1至100之间")
    protected Integer iColumns;
    /**
     * 参与排序的列数
     */
    @NotNull(message = "参与排序的列数不能为空")
    @Range(min = Constants.VALUE_0, max = Constants.VALUE_100, message = "参与排序的列数在0至100之间")
    protected Integer iSortingCols;

    /**
     * 默认构造器。
     */
    public Page2Param() {
        super();
    }

    public Long getsEcho() {
        return sEcho;
    }

    public void setsEcho(Long sEcho) {
        this.sEcho = sEcho;
    }

    public Integer getiColumns() {
        return iColumns;
    }

    public void setiColumns(Integer iColumns) {
        this.iColumns = iColumns;
    }

    public Integer getiSortingCols() {
        return iSortingCols;
    }

    public void setiSortingCols(Integer iSortingCols) {
        this.iSortingCols = iSortingCols;
    }

    @Override
    public String toString() {
        final StringBuffer sb = new StringBuffer("Page2Param{");
        sb.append("startDate='").append(startDate).append('\'');
        sb.append(", iDisplayStart=").append(iDisplayStart);
        sb.append(", sEcho=").append(sEcho);
        sb.append(", endDate='").append(endDate).append('\'');
        sb.append(", iColumns=").append(iColumns);
        sb.append(", iDisplayLength=").append(iDisplayLength);
        sb.append(", iSortingCols=").append(iSortingCols);
        sb.append('}');
        return sb.toString();
    }
}